package com.sankuai.demo.controller;

import com.sankuai.demo.annotaion.CheckParam;
import com.sankuai.demo.model.ResultBean;
import com.sankuai.demo.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @Author：YH
 * @Description：
 * @Date:Created in 2022/1/15 14:14
 */
@Controller
public class MavenTest {

    private final static int NUMBER = 100000;

//    @Resource
//    private RedisTemplate stringRedisTemplate;
//
//    @Resource
//    private BatchRunRedisUtil batchRunRedisUtil;

    @GetMapping(value = "/test")
    @ResponseBody
    public String getMessage() {
        //excuterService.excute();
        return "Project YES";
    }

    @RequestMapping(value = "update")
    @ResponseBody
    public ResultBean update(@CheckParam User user) {
        return ResultBean.respinseSuccess();
    }

//    @RequestMapping(value = "redis")
//    @ResponseBody
//    public String testRedis() {
//        //for循环批量添加
//        long startTime = System.currentTimeMillis();
//        for (int i = 0; i < NUMBER; i++) {
//            stringRedisTemplate.opsForValue().set("aaa" + i, "a", 60);
//        }
//        long endTime = System.currentTimeMillis();
//        System.out.println("普通set消耗" + (endTime - startTime) + "毫秒");
//
//        //利用pipeline批量操作
//        long startTime2 = System.currentTimeMillis();
//        Map map = new HashMap(NUMBER);
//        for (int i = 0; i < NUMBER; i++) {
//            map.put("bbb" + i, "b");
//        }
//        batchRunRedisUtil.batchSetOrExpire(map, 60L);
//        long endTime2 = System.currentTimeMillis();
//        System.out.println("管道set消耗" + (endTime2 - startTime2) + "毫秒");
//
//        //multiSet()批量操作
//        long startTime3 = System.currentTimeMillis();
//        Map map2 = new HashMap(NUMBER);
//        for (int i = 0; i < NUMBER; i++) {
//            map2.put("ccc" + i, "b");
//        }
//        batchRunRedisUtil.batchSet(map2);
//        long endTime3 = System.currentTimeMillis();
//        System.out.println("批量set消耗" + (endTime3 - startTime3) + "毫秒");
//        return "OK";
//    }

}
